package com.zh.pojo.domain;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.Version;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;


/**
 * <p>
 * 支付单分账表
 * </p>
 *
 * @author 初四
 * @since 2024-07-07
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_pay_order_profitsharing")
@Schema(name = "PayOrderProfitsharing对象", description = "支付单分账表")
public class PayOrderProfitsharing implements Serializable {

    private static final long serialVersionUID=1L;
    /**
     * 主键
     */
    @Schema(name = "id", description = "主键")
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private Long id;
    /**
     * 支付订单ID
     */
    @Schema(name = "payOrderId", description = "支付订单ID")
    @TableField("pay_order_id")
    private Long payOrderId;
    /**
     * 订单号
     */
    @Schema(name = "orderNo", description = "订单号")
    @TableField("order_no")
    private String orderNo;
    /**
     * 支付单号
     */
    @Schema(name = "payOrderNo", description = "支付单号")
    @TableField("pay_order_no")
    private String payOrderNo;
    /**
     * 分账金额
     */
    @Schema(name = "shardingAmount", description = "分账金额")
    @TableField("sharding_amount")
    private BigDecimal shardingAmount;
    /**
     * 微信支付单ID，用于分账
     */
    @Schema(name = "transactionId", description = "微信支付单ID，用于分账")
    @TableField("transaction_id")
    private String transactionId;
    /**
     * 0：不可分账 ， 1：待分账     2：完成分账
     */
    @Schema(name = "sharingStatus", description = "0：不可分账 ， 1：待分账     2：完成分账")
    @TableField("sharing_status")
    private Integer sharingStatus;
    /**
     * 分账人的OpenId
     */
    @Schema(name = "toUserOpenId", description = "分账人的OpenId")
    @TableField("to_user_open_id")
    private String toUserOpenId;
    /**
     * 乐观锁
     */
    @Schema(name = "version", description = "乐观锁")
    @TableField("version")
    @Version
    private Integer version;
    /**
     * 创建时间
     */
    @Schema(name = "createTime", description = "创建时间")
    @TableField("create_time")
    private Date createTime;
    /**
     * 修改时间
     */
    @Schema(name = "updateTime", description = "修改时间")
    @TableField("update_time")
    private Date updateTime;
    /**
     * 备注
     */
    @Schema(name = "notes", description = "备注")
    @TableField("notes")
    private String notes;
    /**
     * 最早分账时间,支付后需要延迟2分钟才可以分账
     */
    @Schema(name = "beginSharingTime", description = "最早分账时间,支付后需要延迟2分钟才可以分账")
    @TableField("begin_sharing_time")
    private Date beginSharingTime;

}
